This invention relates generally to data communications and more particularly to a method, system and apparatus for communicating data over shared media access.
A switch is a device that connects multiple LANs or LAN segments and filters, i.e., examining the packet to determine its destination, in accordance with the networking protocol and forwards packets between them. Ethernet is a popular networking protocol defined by IEEE 802.3x standards. In an Ethernet network, the packets of information are referred to as frames.
A media access controller (MAC) protocol is used to provide the data link layer of the Ethernet LAN system. The MAC protocol encapsulates a SDU (payload data) by adding a 14 byte header (Protocol Control Information (PCI)) before the data and appending a 4-byte (32-bit) Cyclic Redundancy Check (CRC) after the data.
The entire frame is then preceded by a small idle period (the minimum inter-frame gap, 9.6 microsecond (xcexcS)) and a 8 byte preamble. The purpose of the idle time before transmission starts is to allow a small time interval for the receiver electronics in each of the nodes to settle after completion of the previous frame.
A node starts transmission by sending an 8 byte (64 bit) preamble sequence. This consists of 62 alternating 1""s and 0""s followed by the pattern 11. When encoded using Manchester encoding, the 62 alternating bits produce a 10 MHz square wave. The purpose of the preamble is to allow time for the receiver in each node to achieve lock of the receiver Digital Phase Lock Loop which is used to synchronize the receive data clock to the transmit data clock. At the point when the first bit of the preamble is received, each receiver may be in an arbitrary state (i.e. have an arbitrary phase for its local clock). During the course of the preamble it learns the correct phase, but in so doing it may miss (or gain) a number of bits. A special pattern (11), known as the start of frame delimiter, is therefore used to mark the last two bits of the preamble. When this is received, the Ethernet receive interface starts collecting the bits into bytes for processing by the MAC layer.
One method, although expensive to implement because of the cost of such memories, of decreasing the latency inherent is fetching and transmitting the next frame of data is to use faster memory. Another method, which is also not cost effective, is to use memory, i.e., enough memory to store both the currently transmitting frame and the next frame to be transmitted.
As transmission speeds increase there is an increasing need to find effective yet inexpensive ways to reduce latency inherent in retrieving and transmitting the next frame of data.
The present invention is a method of reducing latency in transmitting frames of data in a shared access media environment whereby the preamble of the next frame to be transmitted is transmitted while the data portion of the next frame to be transmitted is being retrieved. In another aspect of the invention, the early transmission of the preamble of the next frame is started no later than the time it normally takes to fetch and prepare the next frame for transmission less the time it takes to transmit the preamble.